import { unref } from 'vue'
import { isFunction } from '@/utils/is';

export function useFormEvent({
  defaultFormModel,
  formModel
}: any) {

  /** 
   * 提交表单方法。
   * 当初是打算把提交表单的方法解耦到这儿
   * 本来计划是：使用BasicForm的组件可以传一个submit方法，不传则使用默认的。
   * 后期如果又这种需求，可以在此开发
   */
  // async function handleSubmit() {
  //   loading.value = true
  //   const { submitFunc, pageParams } = unref(getProps)
  //   let page = handlePageParam(pageParams)
  //   if(submitFunc) {
  //     await submitFunc({ ...formModel, ...page })
  //   }
  //   loading.value = false
  // }


  /** 重置表单方法 */
  function handleReset() {
    Object.keys(formModel).forEach(key => {
      formModel[key] = unref(defaultFormModel)[key] || null
    })
  }

  return {
    handleReset
  }
}
